a = 200

def test1():
    """测试函数"""
    print('test')

def test2(a, b):
    """
    返回a+b
    :param a:
    :param b:
    :return:
    """
    return a + b

def test3():
    global a  # 声明a为全局变量
    a = 230  # 修改全局变量
    print(a+1)

def test4():
    return 1, 2  # 函数有多个返回值，返回的是一个元组,或者后面跟集合，字典或列表

def test5(name, age, gender='男'):
    print(f'我叫{name} 年龄是{age} 性别是{gender}')

def test6(*args):
    print(args)

def test7(**kwargs):
    print(kwargs)

# 查看函数说明文档
help(test1)
help(test2)
test3()

print(test4())

# 位置参数
test5('xiaoming', 18, '男')
# 关键字参数
test5('xiaohong', gender='女', age=11)
# 缺省参数
test5('xiaohong', age=11)

# 不定长位置参数
test6("hh", 33, 'work')

# 不定长关键字参数
test7(name='xiaomei', gender='男', age=11)
